package main

import (
	"fmt"
	"sync"
	"time"
)

// 声明一个WaitGroup
var wg sync.WaitGroup

func test() {

	defer wg.Done()
	for i := 0; i < 10; i++ {
		time.Sleep(500 * time.Millisecond)
		fmt.Println("test goroutine")
	}
}

func main() {
	wg.Add(1)
	go test()

	// 主线程每200ms 打印一次，总共打印10次
	for i := 0; i < 2; i++ {
		fmt.Println("主程序")
		time.Sleep(200 * time.Millisecond)
	}
	wg.Wait() // 等待test函数执行完毕
}
